<?php 
require "DataLoad.php";
CheckAdmin2();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title><?php echo $GuildName;?> - DKP系统</title>
<script language="JavaScript" src="inc/jquery.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="Generator" content="EditPlus">
<meta name="Author" content="SULei">
<meta name="Keywords" content="DKP WOW GUILD">
<meta name="Description" content="">
<link href="<?php echo $StylePath;?>/main.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" src="<?php echo $StylePath;?>/styleplus.js"></script>
<style type="text/css" media="all">

</style>


</head>
<?php 
$manager = new SystemManager();



$manager->procedure();





?>

<body>
<div class="header">
<?php require "menu.php"; ?>
</div>
<div class="main">

			<table class="outframe interlace">
				<tr><th colspan='2'>系统操作</th></tr>
				<?php if ($_SESSION['ULVL']==0) {
?>
				<tr><td>初始化</td><td><a href="admin_DataInitialize.php" class='abtn4'>导入外部DKP数据</a></td></tr>
				<!-- <tr><td>归档</td><td><a href="?" class='abtn3'>归档全部14天前的活动和事件</a></td></tr> -->
				<tr><td>数据备份</td><td><a href="?Action=Backup" class='abtn3'>数据备份</a></td></tr>
				<tr><td>SQL操作</td><td><form method="post" action="?Action=SQL"><input type="text" size="50" name="sqlcom" value="" /> <input type="submit" value="执行" /></form></td></tr>
				<?php } ?>
			</table>

			<?php if ($_SESSION['ULVL']==0) {

echo $manager->viewUserManager();
}
	else
if ($_SESSION['ULVL']<3) {

AdminList("self");
} 

?>


</div>
<?php require "footer.php"; ?>
</body>
</html>










<?php 
//方法函数






function BackupDateBase() {
	return "功能未开放";
} 



/******   备份数据库结构 ******/

/*
函数名称：table2sql()
函数功能：把表的结构转换成为SQL
函数参数：$table: 要进行提取的表名
返 回 值：返回提取后的结果，SQL集合
函数作者：heiyeluren
*/

function table2sql($table) 
{
global $db;
$tabledump = "DROP TABLE IF EXISTS $table;n";
$createtable = $db->query("SHOW CREATE TABLE $table");
$create = $db->fetch_row($createtable);
$tabledump .= $create[1].";nn"; 
return $tabledump;
}


/****** 备份数据库结构和所有数据 ******/
/*
函数名称：data2sql()
函数功能：把表的结构和数据转换成为SQL
函数参数：$table: 要进行提取的表名
返 回 值：返回提取后的结果，SQL集合
函数作者：heiyeluren
*/
function data2sql($table) 
{
global $db;
$tabledump = "DROP TABLE IF EXISTS $table;n";
$createtable = $db->query("SHOW CREATE TABLE $table");
$create = $db->fetch_row($createtable);
$tabledump .= $create[1].";nn";

$rows = $db->query("SELECT * FROM $table");
$numfields = $db->num_fields($rows);
$numrows = $db->num_rows($rows);
while ($row = $db->fetch_row($rows))
{
   $comma = "";
   $tabledump .= "INSERT INTO $table VALUES(";
   for($i = 0; $i < $numfields; $i++) 
   {
$tabledump .= $comma."'".mysql_escape_string($row[$i])."'";
$comma = ",";
   }
   $tabledump .= ");n";
}
$tabledump .= "n";

return $tabledump;
}


/****** 具体实现操作 ******/
//好，我们既然把代码都写出来了，那么我们如何在具体的程序种去实现备份呢，我们看下面的代码。


/* 备份数据库 
// 注意：我们一下的数据库操作采用了phplib的DB类

// 定义要保存的数据表、前缀、保存到何处
$tables = array('us_sort', 'us_download', 'us_article', 'us_guestbook'); //定义要保存的数据表，一个数组
$prefix = 'us_'; // 要保存的.sql文件的前缀
$saveto = 'server'; // 要保存到什么地方，是本地还是服务器上，默认是服务器
$back_mode = 'all'; // 要保存的方式，是全部备份还是只保存数据库结构
$admin = 'heiyeluren'; //管理员名称
$admin_email = 'heiyeluren@163.com';   // 管理员邮箱

// 定义数据保存的文件名
$local_filename = $prefix.date('Ymd_His').'.sql"';
if (!$filename) { $filename = $db_backup_path . $prefix . date('Ymd_His_'). create_check_code(4) . ".sql"; }
$filename = $prefix.date(Ymd_His). create_check_ code(6).".sql";    // 保存在服务器上的文件名
// 注意后面的create_check_code()函数，这是一个生成随机码的函数，详细可以参考：
// http://blog.csdn.net/heiyeshuwu/archive/2005/01/26/268446.aspx

// 获取数据库结构和数据内容
foreach($tables as $table) 
{
if ($back_mode == 'all') { $sqldump .= data2sql($table); }
if ($back_mode == 'table') { $sqldump .= table2sql($table); }
}

// 如果数据内容不是空就开始保存
if(trim($sqldump)) 
{
// 写入开头信息
$sqldump = 
   "# --------------------------------------------------------n".
   "# 数据表备份n".
   "#n".
   "# 服务器: $db->Hostn".
   "# 数据库：$db->Databasen".
   "# 备份编号: ". create_sess_id() ."n". // 这里有一个生成session id的函数
   "# 备份时间: ".time_to_date('',6)."n". // 这里就是获取当前时间的函数
   "#n".
   "# 管理员：$admin ($admin_email)n". // 管理员的用户名和邮箱地址
   "# $copyrightn".
   "# --------------------------------------------------------nnn".
   $sqldump;

// 保存到本地
if($saveto == "local") 
{
   ob_end_clean();
   header('Content-Encoding: none');
   header('Content-Type: '.(strpos($HTTP_SERVER_VARS['HTTP_USER_AGENT'], 'MSIE') ? 'application/octetstream' : 'application/octet-stream'));
   header('Content-Disposition: '.(strpos($HTTP_SERVER_VARS['HTTP_USER_AGENT'], 'MSIE') ? 'inline; ' : 'attachment; ').'filename="'.$local_filename);
   header('Content-Length: '.strlen($sqldump));
   header('Pragma: no-cache');
   header('Expires: 0');
   echo $sqldump;
} 
// 保存到本地结束

// 保存在服务器
if($saveto == "server") 
{
   if($filename != "") 
   {
@$fp = fopen($filename, "w+");
if ($fp)
{
@flock($fp, 3);
if(@!fwrite($fp, $sqldump)) 
{
    @fclose($fp);
    exit_msg("数据文件无法保存到服务器，请检查目录属性你是否有写的权限。");
} 
else 
{
    exit_msg("数据成功备份至服务器 <a href="$filename">$filename</a> 中。");
}
}
else
{
exit_msg("无法打开你指定的目录". $filename ."，请确定该目录是否存在，或者是否有相应权限"); 
}
   } 
   else 
   {
exit_msg("您没有输入备份文件名，请返回修改。");
   }
}
// 保存到服务器结束
}
else
{
exit_msg("数据表没有任何内容");
}
*/
/* 备份数据库结束 */





/* 
//过期丢弃
function XDBBB() {

	$sql="UPDATE player set player_class='德鲁伊' where player_class='德鲁依'";
	$Conn->execute($sql);
	print "所有德鲁依已变成德鲁伊.<br>";
	return $function_ret;
} 
*/


function basedkp_xxx() { //名冲突
	$sql="select id,player_name,player_Basedkp from ".$_POST["tabname"]." order by id";
	if ($result = mysql_query($sql)) {
		while ($row = mysql_fetch_array($result)) {
			$sql = "update player_dkp set player_Basedkp=".$row["player_Basedkp"]." where player_name='".$row["player_name"]."' and raid_class=".$_POST["raid_class"];
			mysql_query($sql);
		}
	}else{
		return false;
	};
	return $function_ret;
} 


/* */
function ChgLoginID() {

	$sql="select * from admin";
	$result = mysql_query($sql);
	$result["admin_name"]=$_POST["name"];
	$result["admin_nickname"]=$_POST["name"];
	$result["admin_password"]=$_POST["pwd"];
	$result->update;
	$result->close;
	return $function_ret;
} 









?>
